/**
 * 
 * All Form validation functions defined here.
 * @author Rohan
 * 
 */
error_flag = 2;
//Validate password.
/*function isPasswordValid(password) {
	var passVal = password.val();
	var passReg = /^[a-zA-Z0-9 ]*$/;
	$('#pass_error').show();
	
	//validate letter
		if ( passVal.match(/[A-z]/) ) {
			$('#letter').removeClass('invalid').addClass('valid');
			$('#submit_pass_error').removeClass('error_msg');
			
			//validate capital letter
			if ( passVal.match(/[A-Z]/) ) {
				$('#capital').removeClass('invalid').addClass('valid');
				$('#submit_pass_error').removeClass('error_msg');
				
				//validate number
				if ( passVal.match(/\d/) ) {
					$('#number').removeClass('invalid').addClass('valid');
					$('#submit_pass_error').removeClass('error_msg');
					
					//Validate special character
					if (!passReg.exec(passVal)) {
						$('#character').removeClass('invalid').addClass('valid');
						$('#submit_pass_error').removeClass('error_msg');
						
						if ( passVal.length < 8 ) {
							$('#length').removeClass('valid').addClass('invalid');
							$('#submit_pass_error').addClass('error_msg');
						} else {
							$('#length').removeClass('invalid').addClass('valid');
							$('#submit_pass_error').removeClass('error_msg');
						}
						
					} else {
						$('#character').removeClass('valid').addClass('invalid');
						$('#submit_pass_error').addClass('error_msg');
					}//Validate special character ends
				
				} else {
					$('#number').removeClass('valid').addClass('invalid');
					$('#submit_pass_error').addClass('error_msg');
				}//validate number ends
			
			} else {
				$('#capital').removeClass('valid').addClass('invalid');
				$('#submit_pass_error').addClass('error_msg');
			}//validate capital letter ends
		
		} else {
			$('#letter').removeClass('valid').addClass('invalid');
			$('#submit_pass_error').addClass('error_msg');
		}
		//validate letter ends
	password.focus(function() {
		$('#pass_error').show();
	});
	password.blur(function() {
	$('#pass_error').hide();
	});
}*/
function isPasswordValid(password) {
	var passVal = password.val();
	var passReg = /^[a-zA-Z0-9 ]*$/;
	$('#pass_error').show();
	//validate letter
	if ( passVal.match(/[A-z]/) ) {
		$('#letter').removeClass('invalid').addClass('valid');
		if(error_flag == 2 || error_flag == 0){
			$('#submit_pass_error').removeClass('error_msg');
		}
	} else {
		$('#letter').removeClass('valid').addClass('invalid');
		$('#submit_pass_error').addClass('error_msg');
		error_flag = 0;
	}	
	
	//validate capital letter
	if ( passVal.match(/[A-Z]/) ) {
		$('#capital').removeClass('invalid').addClass('valid');
		if(error_flag == 2 || error_flag == 0){
			$('#submit_pass_error').removeClass('error_msg');
		}
	} else {
		$('#capital').removeClass('valid').addClass('invalid');
		$('#submit_pass_error').addClass('error_msg');
		error_flag = 0;
	}//validate capital letter ends		
	
	//validate number
	if ( passVal.match(/\d/) ) {
		$('#number').removeClass('invalid').addClass('valid');
		if(error_flag == 2 || error_flag == 0){
			$('#submit_pass_error').removeClass('error_msg');
		}
	} else {
		$('#number').removeClass('valid').addClass('invalid');
		$('#submit_pass_error').addClass('error_msg');
		error_flag = 0;
	}//validate number ends	
				
	//Validate special character
	if (!passReg.exec(passVal)) {
		$('#character').removeClass('invalid').addClass('valid');
		if(error_flag == 2 || error_flag == 0){
			$('#submit_pass_error').removeClass('error_msg');
		}
	} else {
		$('#character').removeClass('valid').addClass('invalid');
		$('#submit_pass_error').addClass('error_msg');
		error_flag = 0;
	}//Validate special character ends	
	
	if ( passVal.length < 8 ) {
		$('#length').removeClass('valid').addClass('invalid');
		$('#submit_pass_error').addClass('error_msg');
		error_flag = 0;
	} else {
		$('#length').removeClass('invalid').addClass('valid');
		if(error_flag == 2 || error_flag == 0){
			$('#submit_pass_error').removeClass('error_msg');
		}
	}
	//validate letter ends
	password.focus(function() {
		$('#pass_error').show();
	});
	password.blur(function() {
	$('#pass_error').hide();
	});
}

//Check both passwords are same or not.
function isPasswordSame(password,repassword) {
	var passVal = password.val();
	var repassVal = repassword.val();
	$('#compare_pass_error').show();
	
	if ( passVal !== repassVal || passVal == "" ) {
		$('#compare_pass').removeClass('valid').addClass('invalid');
		if(error_flag == 2 || error_flag == 0){
			$('#submit_pass_compare_error').addClass('error_msg');
		}
	} else {
		$('#compare_pass').removeClass('invalid').addClass('valid');
		$('#submit_pass_compare_error').removeClass('error_msg');
		error_flag = 0;
	}
	repassword.focus(function() {
		$('#compare_pass_error').show();
	});
	repassword.blur(function() {
		$('#compare_pass_error').hide();
	});
}

//Validate Department Name
function isNameValid(name) {
	var nameVal = name.val();
	var nameReg = /^[a-zA-Z0-9\s]*$/;
	$('#name_error').show();
	
	if($.trim(nameVal) == '') {		
		$('#name_empty').removeClass('valid').addClass('invalid');
		if(error_flag == 2 || error_flag == 0){
			$('#submit_name_error').addClass('error_msg');
		}
	}else{		
		$('#name_empty').removeClass('invalid').addClass('valid');
		$('#submit_name_error').removeClass('error_msg');
		error_flag = 0;
	}
	if(nameVal.length <= 1) {		
		$('#name_length').removeClass('valid').addClass('invalid');
		if(error_flag == 2 || error_flag == 0){
			$('#submit_name_error').addClass('error_msg');
		}
	}else{		
		$('#name_length').removeClass('invalid').addClass('valid');
		$('#submit_name_error').removeClass('error_msg');
		error_flag = 0;
	}
	if(!nameReg.test( nameVal ) || nameVal == '') {
		$('#name_invalid').removeClass('valid').addClass('invalid');
		if(error_flag == 2 || error_flag == 0){
			$('#submit_name_error').addClass('error_msg');
		}
	}else{
		$('#name_invalid').removeClass('invalid').addClass('valid');
		$('#submit_name_error').removeClass('error_msg');
		error_flag = 0;
	}
	name.focus(function() {
		$('#name_error').show();
	});
	name.blur(function() {
	$('#name_error').hide();
	});
}

//Validate Email
function isEmailValid(email){
	emailVal = email.val();
	var emailReg = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	$('#email_error').show();
	if(emailVal == '') {
		$('#email_empty').removeClass('valid').addClass('invalid');
		if(error_flag == 2 || error_flag == 0){
			$('#submit_email_error').addClass('error_msg');
		}
	}else{		
		$('#email_empty').removeClass('invalid').addClass('valid');
		$('#submit_email_error').removeClass('error_msg');
		error_flag = 0;
	}
	
	if(!emailReg.test( emailVal )) {
		$('#email_invalid').removeClass('valid').addClass('invalid');
		if(error_flag == 2 || error_flag == 0){
			$('#submit_email_error').addClass('error_msg');
		}
	}else{
		$('#email_invalid').removeClass('invalid').addClass('valid');
		$('#submit_email_error').removeClass('error_msg');
		error_flag = 0;
	}
	
	//Show error and success message.
	email.focus(function(){
		$('#email_error').show();
	});
	email.blur(function(){
		$('#email_error').hide();
	});
}

//Validate Mobile Number
function isMobileValid(no) {
	var noVal = no.val();
	var noReg = /^[0-9]*$/;
	$('#mobile_no_error').show();
	
	if($.trim(noVal) == '' || noVal.length < 10) {		
		$('#mobile_length').removeClass('valid').addClass('invalid');
	}else{		
		$('#mobile_length').removeClass('invalid').addClass('valid');
	}
	if(!noReg.test( noVal ) || $.trim(noVal) == '') {
		$('#mobile_digits').removeClass('valid').addClass('invalid');
	}else{
		$('#mobile_digits').removeClass('invalid').addClass('valid');
	}
	no.focus(function() {
		$('#mobile_no_error').show();
	});
	no.blur(function() {
	$('#mobile_no_error').hide();
	});
}

function isAnyFieldEmpty(){
	$(".submit_errors").hide();
	for( var i = 0; i < arguments.length; i++ ) {
        if(!arguments[i].val()){
        	$('#submit_is_field_empty').addClass('error_msg');
        	$(".submit_errors_msg").show();
        	$('#submit_is_field_empty').show();
        	return false;
    	}
    }
	return true;
}

function checkForm(){
	$(".submit_errors").hide();
	for( var i = 0; i < arguments.length; i++ ) {
        if(arguments[i].hasClass('error_msg')){
        	$(".submit_errors_msg").show();
        	arguments[i].show();
    		return false;
    	}
    }
	return true;
}
